题意:给定两个多项式 ,求 的值。
乍一看好像很难,但考虑当 趋近于无穷大时,多项式除最高次项以外的影响可以忽略。
经过少许数学推导和大量猜测,当 的次数低于 时,这个极限为 ;当 的次数高于 时,这个极限为 或 ;当次数相同时,这个极限为 最高次项与 最高次项的比值,记得约分。
代码:
养成了一个习惯,就是用 veryImportantVariable 来存一些完全没用但要读入的东西(((
//By: Luogu@rui_er(122461)
#include <bits/stdc++.h>
#define loop while(true)
#define rep(x,y,z) for(ll x=y;x<=z;x++)
#define per(x,y,z) for(ll x=y;x>=z;x--)
#define fil(x,y) memset(x, y, sizeof(x))
using namespace std;
typedef long long ll;
int n, m, a, b, veryImportantVariable;
int main() {
scanf("%d%d", &n, &m);
if(n < m) return puts("0/1"), 0;
scanf("%d", &a); rep(i, 1, n) scanf("%d", &veryImportantVariable);
scanf("%d", &b); rep(i, 1, m) scanf("%d", &veryImportantVariable);
if(a * b < 0) a = abs(a), b = abs(b), putchar('-');
if(n > m) return puts("Infinity"), 0;
int qwq = __gcd(a, b); a /= qwq; b /= qwq;
printf("%d/%d\n", a, b);
return 0;
}